Welcome to Beta 15! This release brings several significant enhancements aimed at improving the efficiency and functionality of the CLI environment and continued bug fixing to bring our CFML compatibility to several client applications and Ortus Libraries. Key among these is the introduction of the bx-web-support
module, which allows the CLI to interface with web server capabilities, making it an excellent tool for testing and feature auditing. Additionally, the merge capabilities within module settings have been refined to support deep merges from the configuration file, ensuring greater flexibility and control.
Moreover, running scripts or classes via CLI execution now supports the automatic detection and execution of Application.bx|cfc
, streamlining the process for developers. The new ToString
dump template enhances debugging by enabling a concise display format for lists of Java objects, simplifying the analysis and debugging process.
Overall, this beta release brings further stability for CFML applications migrating to BoxLang!
What is BoxLang?
BoxLang is a modern dynamic JVM language that can be deployed on multiple runtimes: operating system (Windows/Mac/*nix/Embedded), web server, lambda, iOS, android, web assembly, and more. BoxLang combines many features from different programming languages, including Java, CFML, Python, Ruby, Go, and PHP, to provide developers with a modern and expressive syntax.
It is also a drop-in replacement for Adobe ColdFusion and Lucee Engines.
How to get started?
Visit our docs at https://boxlang.ortusbooks.com and get coding today. If you want to try it out on the web then go to our online REPL at https://try.boxlang.io. You can also checkout our YouTube playlist: https://www.youtube.com/playlist?list=PLNE-ZbNnndB-40LvAbeSeT2Oi3V2gm_B8
Release Notes
Here are the latest release notes: https://boxlang.ortusbooks.com/readme/release-history/1.0.0-beta15
New Features
BL-544 Look and execute for Application.bx|cfc when running scripts or classes via CLI execution
We have always wanted even further CLI enhancements for applications built with BoxLang. Now you get it! BoxLang will look for an Application.bx|cfc
whenever it executes a template or class and follow the process of application startup, settings, ORM, etc. The full life-cycle of an application but at the CLI level. This will allow you to completely test your web applications with no web server and even build CLI applications with easy application constructs!
BL-559 New bx-web-support module to support the CLI with web server capabilities. Great for testing, mocking and feature audits.
We have released the bx-web-support
module which will give you mocking, testing and auditing capabilities for CLI testing and runners. This means that your CLI applications will look and feel like a real web application with a real web server, but using our mock approaches.
This module is still in it's alpha stages so expect much more development on it.
BL-574 Module settings should have a deep merge from the configuration file
All module settings in your boxlang.json
can now be deeply merged automatically by BoxLang.
BL-580 Add a new ToString dump template that will take a list of java objects to display them in short hand format
We will be easing the visibility of certain human readable Java classes in our dump templates.
BL-581 Handle single values in arrayAppend merge=true
A nice feature to support further merging techniques with arrays.
Improvements
BL-503 dump improvement of UI when using expand/collapse
BL-545 Show errors in class pseudo constructor in tag context
BL-555 List utils need to trim all values when converting to arrays
BL-558 LocalDateTime not showing in dumps as a date/time string, but as a Java Object
BL-567 Update date/time and instant dump templates to be less verbose and more functional
BL-569 Allow CF tag islands and template islands to be nested more than one level deep.
BL-570 Merge CF lexer and grammar for faster parsing and more accurate lexing
BL-571 Make tag expression parsing smarter
BL-576 expandPath() must ignore invalid paths, just returning the input
BL-579 More IO BIFs need to ignore invalid paths
Bugs
BL-434 script block parsing can be tricked by comments
BL-546 Lucee allows properties to be anywhere in the pseduoconstructor of a class, not just at the top
BL-547 flush component only flushes up one buffer, not all the way
BL-550 Boxlang doesn't parse milliseconds in datetime string
BL-551 Date "string" doesn't have date time member functions available
BL-552 Querynew failing with more than one column defined
BL-553 Regular Expression Syntax not supported
BL-557 Metadata visitor doesn't support struct annotations with unquoted keys
BL-561 Hyper module failing
BL-562 bx-compat cfloop requires "index" when it shouldn't
BL-563 transaction shouldn't require global DSN
BL-564 cfproperty tag lucee allows non quoted properties
BL-565 Class name sensitivity based on provided rather than class found
BL-566 No reading dump templates due to pathing incorrectly in debug mode
BL-568 Static support not compatible with CFML
BL-572 javacast not actually casting as expected
BL-573 functions in variables scope vs values in variables scope
BL-575 bx-compat unquoted hashed expressions cause compiler error
BL-577 serializeJSON errors when serializing a function
BL-578 Sentinel loop with missing expressions fails
BL-582 mid() It does not remove characters if the count is more than the length
BL-583 Cannot invoke "ortus.boxlang.runtime.types.IStruct.putAll(java.util.Map)" because "recipient" is null
Add Your Comment